package com.smedi.ismedi.progress.core.port.adapter.service;

import com.smedi.ismedi.constructionproject.api.dto.response.ProjectBasicResponse;
import com.smedi.ismedi.constructionproject.api.dto.response.resp.ProjectResp;
import com.smedi.ismedi.web.starter.common.PaginationData;
import com.smedi.ismedi.web.starter.common.ResponseData;

import java.util.List;

/**
 * @author liaojiajie
 * @Date 2022/9/19
 */
public interface ProjectProgressService {
    /**
    *   获取项目 列表
    * @param hrOrganizationId
    * @return com.smedi.ismedi.web.starter.common.ResponseData<com.smedi.ismedi.web.starter.common.PaginationData>
    * @date 2022/9/21 16:40
    */
    ResponseData<List<ProjectBasicResponse>> getProjectList(Long hrOrganizationId);


    ResponseData<PaginationData> getProjectList(Long offset, Long pageSize, String projectName, String projectCode, String projectManager, Long hrOrganizationId, String supervisionUnit, String projectStatus, String projectCategory, String contractDurationBegin, String contractDurationEnd);

    ResponseData<List<ProjectBasicResponse>> getQueryProjectBasicListByHrOrganizationIds(List<Long> hrOrganizationIds);

    ProjectBasicResponse getProject(Long projectId);
    /**
    * 获取项目 信息
    * @param projectId
    * @return com.smedi.ismedi.web.starter.common.ResponseData<java.util.List<com.smedi.ismedi.constructionproject.api.dto.response.ProjectBasicResponse>>
    * @date 2022/9/23 9:52
    */
    ResponseData<ProjectBasicResponse> getQueryProjectBasicView(Long projectId);

    List<ProjectResp> getProjectListWithoutToken(List<Long> ids);

    List<ProjectBasicResponse> getAllProjectBasicList();

    ResponseData<List<ProjectBasicResponse>> getProjectListByApp(String appSearch,List<Long> ids);
}
